using System;
using System.Collections.Generic;
using ns26;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("CameraMask")]
	public class CameraMask : MonoBehaviour
	{
		public enum CAMERA_MASK_UP_VECTOR
		{
			Y,
			Z
		}

		public GameObject m_ClipObjects => method_3<GameObject>("m_ClipObjects");

		public CAMERA_MASK_UP_VECTOR m_UpVector => method_2<CAMERA_MASK_UP_VECTOR>("m_UpVector");

		public float m_Width => method_2<float>("m_Width");

		public float m_Height => method_2<float>("m_Height");

		public bool m_RealtimeUpdate => method_2<bool>("m_RealtimeUpdate");

		public bool m_UseCameraFromLayer => method_2<bool>("m_UseCameraFromLayer");

		public GameLayer m_CameraFromLayer => method_2<GameLayer>("m_CameraFromLayer");

		public List<GameLayer> m_CullingMasks => method_3<Class270<GameLayer>>("m_CullingMasks")?.method_25();

		public Camera m_RenderCamera => method_3<Camera>("m_RenderCamera");

		public Camera m_MaskCamera => method_3<Camera>("m_MaskCamera");

		public GameObject m_MaskCameraGameObject => method_3<GameObject>("m_MaskCameraGameObject");

		public CameraMask(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CameraMask(IntPtr address)
			: this(address, "CameraMask")
		{
		}

		public void Update()
		{
			method_8("Update");
		}

		public void OnDisable()
		{
			method_8("OnDisable");
		}

		public void OnEnable()
		{
			method_8("OnEnable");
		}

		public void OnDrawGizmos()
		{
			method_8("OnDrawGizmos");
		}

		public void UpdateMask()
		{
			method_8("UpdateMask");
		}

		public bool Init()
		{
			return method_11<bool>("Init", Array.Empty<object>());
		}

		public void UpdateCameraClipping()
		{
			method_8("UpdateCameraClipping");
		}
	}
}
